<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of SalePointForm
 *
 * @author WIN7
 */
class SalePointForm extends CFormModel{
    public $sale_name;
    public $sale_mobile;
    public $sale_address;
    public $sale_country;
    public $sale_country_code;
    public $sale_area;
    public $sale_district;
    public $sale_lat;
    public $sale_lng;
    public $sale_business;
    public $sale_image;
    public $sale_rating;
    public $sale_email;
    public $arrArea = array();
    public $arrDistrict = array();

    public function init() {
        $this->arrArea = array("Hồ Chí Minh", "Hà Nội");
        
        $this->arrDistrict = array('0' =>array(
            "Quận 1", 
            "Quận 2",
            "Quận 3",
            "Quận 4",
            "Quận 5", 
            "Quận 6",
            "Quận 7",
            "Quận 8",
            "Quận 9", 
            "Quận 10",
            "Quận 11",
            "Quận 12",
            "Quận Thủ Đức",
            "Quận Gò Vấp",
            "Quận Bình Thạnh",
            "Quận Tân Bình",
            "Quận Tân Phú",
            "Quận Phú Nhuận",
            "Quận Bình Tân",
            "Huyện Bình Chánh",
            "Huyện Cần Giờ",
            "Huyện Củ Chi",
            "Huyện Hóc Môn",
            "Huyện Nhà Bè",
        ),
            '1' => array(
                "Quận Ba Đình",
                "Quận Hoàn Kiếm",
                "Quận Hai Bà Trưng",
                "Quận Đống Đa",
                "Quận Tây Hồ",
                "Quận Cầu Giấy",
                "Quận Thanh Xuân",
                "Quận Hoàng Mai",
                "Quận Long Biên",
                "Huyện Từ Liêm",
                "Huyện Thanh Trì",
                "Huyện Gia Lâm",
                "Huyện Đông Anh",
                "Huyện Sóc Sơn",
                "Quận Hà Đông",
                "Thị xã Sơn Tây",
                "Huyện Ba Vì",
                "Huyện Phúc Thọ",
                "Huyện Thạch Thất",
                "Huyện Quốc Oai",
                "Huyện Chương Mỹ",
                "Huyện Đan Phượng",
                "Huyện Hoài Đức",
                "Huyện Thanh Oai",
                "Huyện Mỹ Đức",
                "Huyện Ứng Hoà",
                "Huyện Thường Tín",
                "Huyện Phú Xuyên",
                "Huyện Mê Linh",
            ));
    }
    public function rules() {
        return array(			
            array('sale_name, sale_mobile, sale_address, sale_country, sale_country_code, sale_area, sale_district, sale_lat,sale_lng, sale_business, sale_rating, sale_email', 'required'),
            array('image', 'file','types'=>'jpg, gif, png', 'allowEmpty'=>true, 'on'=>'update'),
            array('title, image', 'length', 'max'=>255, 'on'=>'insert,update'),
            );        
    }
    public function attributeLabels()	{          
        }
    public function edit() {
        if (empty($this->sale_name)) {
                $this->addError('sale_name', 'Tên thương hiệu không thể để trống');
                return FALSE;
            }
        try{
                                 $connection=Yii::app()->db;   // assuming you have configured a "db" connection  
                                 //find id from rowId in jqGrid
//                                 $query_id="SELECT a.id, a.sale_image FROM os_salepoint a
//                                     WHERE a.id =".Yii::app()->session["saleId"];
//                                 $command_id = $connection->createCommand($query_id);
//                                 $dataReader_id=$command_id->query();   
//                                 $rows_salepoint = array();
//                                while(($row=$dataReader_id->read())!==false) {
//                                    $rows_salepoint[]=$row;
//                                }
//                                $rowId = $_GET['id']-1;
//                                $store_id = $rows_store[$rowId]['store_id'];
                                //update to database
                                 $rows_salepoint = $this->getSalePoint(Yii::app()->session['saleId']); //trả về 1 row => array 1 chiều;
                                if (!empty($rows_salepoint['sale_image']) && empty($this->sale_image)) {
                                $this->sale_image = $rows_salepoint['sale_image'];
                                }
                                $query="UPDATE os_salepoint a 
                                    SET a.sale_name='{$this->sale_name}', a.sale_mobile='{$this->sale_mobile}', a.sale_address='{$this->sale_address}', 
                                        a.sale_country='{$this->sale_country}', a.sale_country_code='{$this->sale_country_code}', a.sale_area='{$this->sale_area}', 
                                            a.sale_district='{$this->sale_district}',a.sale_lat='{$this->sale_lat}', a.sale_lng='{$this->sale_lng}', 
                                                a.sale_business='{$this->sale_business}', a.sale_image='{$this->sale_image}', a.sale_rating='{$this->sale_rating}',
                                                    a.sale_email='{$this->sale_email}'
                                    WHERE a.id=".Yii::app()->session['saleId']; 
                                $command=$connection->createCommand($query)->execute();
//                                $command->bindParam(":name",  $this->name,PDO::PARAM_STR);
//                                $command->bindParam(":mobile",  $this->mobile,PDO::PARAM_STR);
//                                $command->bindParam(":address",  $this->address,PDO::PARAM_STR);
//                                $command->bindParam(":lat",  $this->lat,PDO::PARAM_STR);
//                                $command->bindParam(":lng",  $this->lng,PDO::PARAM_STR);
//                                $command->bindParam(":image",  $this->image,PDO::PARAM_STR);
//                                $command->bindParam(":id",$store_id,PDO::PARAM_INT);
//                                $row_count=$command->execute();
//                                $resul=array('data'=>$json,'status'=>'ok');
//                                $string=json_encode($resul);
//                                echo $string;                                                              
                                 return true;                                
                       }catch(Exception $e){
                                 $result=array('data'=>'','status'=>'fail','error'=>$e->getMessage());
                                 echo $string=json_encode($result);
                                 return FALSE;
                                 }      
        }
        public function add() {
            if (empty($this->sale_name)) {
                $this->addError('sale_name', 'Tên thương hiệu không thể để trống');
                return FALSE;
            }
            try {
                $connetion = Yii::app()->db;
//                $sql_user = "SELECT * FROM os_users WHERE sale_id =".Yii::app()->session['saleId'];
//                $data_user = $connetion->createCommand($sql_user)->query();
//                $row_user = $data_user->read();
//                $idSalePoint = $row_user[0]['sale_id'];
                
//                $sql = "UPDATE os_salepoint a 
//                           SET a.sale_name='{$this->sale_name}', a.sale_mobile='{$this->sale_mobile}', a.sale_address='{$this->sale_address}', 
//                           a.sale_country='{$this->sale_country}', a.sale_country_code='{$this->sale_country_code}', 
//                           a.sale_area='{$this->sale_area}', a.sale_district='{$this->sale_district}',a.sale_lat='{$this->sale_lat}', 
//                           a.sale_lng='{$this->sale_lng}', a.sale_business='{$this->sale_business}', a.sale_image='{$this->sale_image}', 
//                           a.sale_rating='{$this->sale_rating}'
//                           WHERE a.id=".Yii::app()->session['saleId']; 
                           $sql = "INSERT INTO os_salepoint(sale_name,sale_mobile,sale_address,sale_country,sale_country_code,
                               sale_area,sale_district,sale_lat,sale_lng,sale_business,sale_image,sale_rating,sale_email,sale_active) 
                                     VALUE('{$this->sale_name}','{$this->sale_mobile}','{$this->sale_address}','{$this->sale_country}'
                                         ,'{$this->sale_country_code}','{$this->sale_area}','{$this->sale_district}','{$this->sale_lat}','{$this->sale_lng}'
                                             ,'{$this->sale_business}','{$this->sale_image}','{$this->sale_rating}','{$this->sale_email}','0')";
                 $connetion->createCommand($sql)->execute();
                 Yii::app()->session['saleId'] = $connetion->getLastInsertID();
                 $this->updateUser(Yii::app()->session['saleId'], Yii::app()->session['username']);
                return true;
        }catch (Exception $e) {
            $result=array('data'=>'','status'=>'fail','error'=>$e->getMessage());
                                 echo $string=json_encode($result);
                                 return FALSE;
        }
            
        }
        public function getDatabase() {
            $connection = Yii::app()->db;
            $sql = "SELECT * FROM os_salepoint WHERE os_salepoint.sale_active = '1'";
            $command = $connection->createCommand($sql);
            $data = $command->query();
            $rows_salepoint = array();
            //mysql_fetch_row($query)
            while ($row = $data->read()) {
                $rows_salepoint[] = $row;
            }
            return $rows_salepoint;
        }
//        public function getUserDatabase() {
//             $connetion = Yii::app()->db;
//                $sql_user = "SELECT * FROM os_users WHERE sale_id =".Yii::app()->session['saleId'];
//                $data_user = $connetion->createCommand($sql_user)->query();
//                $row_user = $data_user->read();
//                if (!empty($row_user)) {
//                $idSalePoint = $row_user[0]['sale_id'];
//                return $idSalePoint;                
//                }
//                return FALSE;
//        }
    public function getSalePoint($id) {
                $connection=Yii::app()->db;   
                //find id from rowId in jqGrid
                $query_id="SELECT * FROM os_salepoint a
                                     WHERE a.id =".$id;
                $command_id = $connection->createCommand($query_id);
                $dataReader_id=$command_id->query();   
                $rows_salepoint = $dataReader_id->read();
                if (!empty($rows_salepoint)) {
                    return $rows_salepoint;                
                } else {
                    return FALSE;    
                }
    }
        public function updateUser($sale_id, $username) {
        try {
            $connection = Yii::app()->db;
            $sql = "UPDATE os_users as a
                        SET a.sale_id = '{$sale_id}'
                        WHERE a.username = '{$username}'";
                     $command = $connection->createCommand($sql)->query();
            return true;
    } catch (Exception $e) {
        echo $e;
        return FALSE;
    }    
    }
public function activeSalepoint($sale_id) {
    try {
        $connection = Yii::app()->db;
        $sql = "UPDATE os_salepoint as a
            SET a.sale_active = '1'
            WHERE a.id = '{$sale_id}'";
            $connection->createCommand($sql)->query();
        return true;
} catch (Exception $e) {
    echo $e;
    return FALSE;
}
}
public function searchSalePoint($city, $district, $type_business) {
    $sql = "select * from os_salepoint where ";
    $where = "sale_area = '{$city}'";
    if (strlen($district) > 1) {
        $where .= " AND sale_district = '{$district}'";
        }
    if ($type_business != 0) {
        $where .= " AND sale_business = '{$type_business}'";    
        }        
    try {
        $connection = Yii::app()->db;
        $command = $connection->createCommand($sql.$where);
        $data_read = $command->query();
        $rows_data = array();
        while ($row = $data_read->read()) {
            $rows_data[] = $row;
        }
//        var_dump($sql.$where);
//        var_dump($rows_data);
//                            exit;
        return $rows_data;
    } catch (Exception $e) {
        echo $e;
        return FALSE;
    }
            
}
}

